package com.yxx.business.mapper;

import java.util.List;

import com.yxx.business.entity.TbEngineeringDo;
import com.yxx.business.entity.TbEngineeringQueryDto;
import com.yxx.business.entity.TbEngineeringVo;
import com.yxx.common.core.mapper.BaseMapperPlus;

/**
 * 工程信息Mapper接口
 *
 * @author yxx
 * @date 2025-08-03
 */
public interface TbEngineeringMapper extends BaseMapperPlus<TbEngineeringDo> {

    /**
     * 查询工程信息列表
     *
     * @param tbEngineeringQueryDto 工程信息查询实体
     * @return 工程信息集合
     */
    public List<TbEngineeringVo> selectTbEngineeringList(TbEngineeringQueryDto tbEngineeringQueryDto);

    /**
     * 查询工程信息
     *
     * @param engineeringId 工程信息主键
     * @return 工程信息单个
     */
    public TbEngineeringDo selectTbEngineeringByEngineeringId(Long engineeringId);

    /**
     * 新增工程信息
     *
     * @param tbEngineeringDo 工程信息数据库实体
     * @return 结果
     */
    public int insertTbEngineering(TbEngineeringDo tbEngineeringDo);

    /**
     * 修改工程信息
     *
     * @param tbEngineeringDo 工程信息数据库实体
     * @return 结果
     */
    public int updateTbEngineering(TbEngineeringDo tbEngineeringDo);

    /**
     * 删除工程信息
     *
     * @param engineeringId 工程信息主键
     * @return 结果
     */
    public int deleteTbEngineeringByEngineeringId(Long engineeringId);

    /**
     * 批量删除工程信息
     *
     * @param engineeringIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbEngineeringByEngineeringIds(List<Long> engineeringIds);
}
